package com.mrx.example.dao;

import com.mrx.example.mapper.DeptMapper;
import com.mrx.example.model.Dept;
import com.mrx.example.model.Result;
import com.mrx.example.util.MyBatisUtils;

import java.util.List;

/**
 * Dept 表的 DAO
 *
 * @author Mr.X
 */

public class DeptDao extends BaseDao {

    /**
     * 构造一个 DeptDao, 初始化 sf
     */
    public DeptDao() {
        super(DeptMapper.class);
    }

    /**
     * 获取所有 Dept
     *
     * @return 查找到的 Dept
     */
    public Result<List<Dept>> findAllDepts() {
        List<Dept> res = getDeptMapper().findAllDepts();
        closeSession(true);
        if (res.size() > 0) {
            return Result.createResult(200, res);
        }
        return Result.createResult(-1, null);
    }

    /**
     * 使用 deptID 查找 Dept
     *
     * @param id deptID
     * @return 查找到的 Dept
     */
    public Result<Dept> findDeptsById(Integer id) {
        Dept res = getDeptMapper().findDeptById(id);
        closeSession(true);
        if (res != null) {
            return Result.createResult(200, res);
        }
        return Result.createResult(-1, null);
    }

    /**
     * 获取 DeptMapper
     *
     * @return 获取到的 DeptMapper
     */
    private DeptMapper getDeptMapper() {
        return getMapper(DeptMapper.class);
    }
}
